package com.evon.yardmanagement.ui.dto.transaction;

import java.sql.Date;

import org.dozer.Mapping;

import com.evon.yardmanagement.ui.dto.KeyBinDTO;
import com.evon.yardmanagement.ui.dto.KeyBoxDTO;
import com.evon.yardmanagement.ui.dto.MemberDTO;
import com.evon.yardmanagement.ui.dto.OemDTO;
import com.evon.yardmanagement.ui.dto.ParkingSlotDTO;
import com.evon.yardmanagement.ui.dto.TransporterDTO;

public class CarDTO {

	private int id;
	private String carNumber;
	
	@Mapping("oem")
	private OemDTO carManufacturer;
	private String carVerient;
	private String carModel;
	private String carChasisNumber;
	private String carColor;
	private int keyNumber;
	private int yardId;

	@Mapping("keyBox")
	private KeyBoxDTO keyBox;

	@Mapping("parkingDriver")
	private MemberDTO member;
	
	@Mapping("retrievalDriver")
	private MemberDTO retrievalDriver;

	public String selectedYard;

	private Date parkingTime;
	
	@Mapping("transporter")
	private TransporterDTO transporterDTO;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getSelectedYard() {
		return selectedYard;
	}

	public void setSelectedYard(String selectedYard) {
		this.selectedYard = selectedYard;
	}

	private Date retrievalTime;

	private char retrievalFlag;

	private String parkingStatus;

	@Mapping("parkingSlot")
	public ParkingSlotDTO parkingSlot = new ParkingSlotDTO();

	public Integer getSectionId() {
		return parkingSlot.getSectionId();
	}

	public String getSectionName() {
		return parkingSlot.getSectionName();
	}

	public void setSectionId(int sectionId) {
		parkingSlot.getSection().setSectionId(sectionId);
	}

	public void setSectionName(String sectionName) {
		parkingSlot.getSection().setSectionName(sectionName);
	}

	public Integer getYardId() {
		return yardId;
	}

	public String getYardName() {
		return parkingSlot.getYardName();
	}

	// public List<Yard> listYard;


	public void setName(String name) {
		member.setName(name);
	}

	public void setSlotName(String slotName) {
		parkingSlot.setSlotName(slotName);
	}

	public void setSlotNumber(Integer slotNumber) {
		parkingSlot.setSlotNumber(slotNumber);
	}


	public String getSlotName() {
		return parkingSlot.getSlotName();
	}

	public Integer getSlotNumber() {
		return parkingSlot.getSlotNumber();
	}

	public String getCarNumber() {
		return carNumber;
	}

	public void setCarNumber(String carNumber) {
		this.carNumber = carNumber;
	}


	public String getCarVerient() {
		return carVerient;
	}

	public void setCarVerient(String carVerient) {
		this.carVerient = carVerient;
	}

	public String getCarModel() {
		return carModel;
	}

	public void setCarModel(String carModel) {
		this.carModel = carModel;
	}

	public String getCarChasisNumber() {
		return carChasisNumber;
	}

	public void setCarChasisNumber(String carChasisNumber) {
		this.carChasisNumber = carChasisNumber;
	}

	public String getCarColor() {
		return carColor;
	}

	public void setCarColor(String carColor) {
		this.carColor = carColor;
	}

	public int getKeyNumber() {
		return keyNumber;
	}

	public void setKeyNumber(int keyNumber) {
		this.keyNumber = keyNumber;
	}

	public String getName() {
		return member.getName();
	}

	public MemberDTO getMember() {
		return member;
	}

	public void setMember(MemberDTO member) {
		this.member = member;
	}

	public ParkingSlotDTO getParkingSlot() {
		return parkingSlot;
	}

	public void setParkingSlot(ParkingSlotDTO parkingSlot) {
		this.parkingSlot = parkingSlot;
	}



	public Date getRetrievalTime() {
		return retrievalTime;
	}

	public void setRetrievalTime(Date retrievalTime) {
		this.retrievalTime = retrievalTime;
	}

	public char getRetrievalFlag() {
		return retrievalFlag;
	}

	public void setRetrievalFlag(char retrievalFlag) {
		this.retrievalFlag = retrievalFlag;
	}

	public String getParkingStatus() {
		return parkingStatus;
	}

	public void setParkingStatus(String parkingStatus) {
		this.parkingStatus = parkingStatus;
	}

	public Date getParkingTime() {
		return parkingTime;
	}

	public TransporterDTO getTransporterDTO() {
		return transporterDTO;
	}

	public void setTransporterDTO(TransporterDTO transporterDTO) {
		this.transporterDTO = transporterDTO;
	}

	public void setParkingTime(Date parkingTime) {
		this.parkingTime = parkingTime;
	}

	public void setYardId(int yardId) {
		this.yardId = yardId;
	}

	public KeyBoxDTO getKeyBox() {
		return keyBox;
	}

	public void setKeyBox(KeyBoxDTO keyBox) {
		this.keyBox = keyBox;
	}

	public MemberDTO getRetrievalDriver() {
		return retrievalDriver;
	}

	public OemDTO getCarManufacturer() {
		return carManufacturer;
	}

	public void setCarManufacturer(OemDTO carManufacturer) {
		this.carManufacturer = carManufacturer;
	}

	public void setRetrievalDriver(MemberDTO retrievalDriver) {
		this.retrievalDriver = retrievalDriver;
	}
}
